#ifndef __SCHEDULE_H_
#define __SCHEDULE_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <common.h>
#include <mutex.h>

/******************************************************************************
* 函数名称: void schedule(void)
* 功能说明: 进程调度
* 输入参数: 无
* 输出参数: 无
* 函数返回: 无
* 其它说明: 无
******************************************************************************/
void schedule(void);

/******************************************************************************
* 函数名称: E_RET MutexSuspend(MUTEX* mutex)
* 功能说明: 将当前任务节点从任务就绪队列中转移到互斥锁的等待队列中
* 输入参数: MUTEX* mutex        --互斥锁
* 输出参数: 无
* 函数返回: E_OK:成功; E_ERR:失败
* 其它说明: 无
******************************************************************************/
E_RET MutexSuspend(MUTEX* mutex);

/******************************************************************************
* 函数名称: E_RET MutexResume(MUTEX* mutex)
* 功能说明: 将互斥锁等待队列中的任务转移到任务就绪队列中
* 输入参数: MUTEX* mutex        --互斥锁
* 输出参数: 无
* 函数返回: E_OK:成功; E_ERR:失败
* 其它说明: 无
******************************************************************************/
E_RET MutexResume(MUTEX* mutex);


#ifdef __cplusplus
}
#endif

#endif

